home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / E-Education / (c)e8.d64 / rutherford.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  5KB  |  186 lines

  1. 100 REM
  2. 110 REM  RUTHERFORD'S ALPHA-PARTICLE
  3. 120 REM  SCATTERING EXPERIMENT (SIM)
  4. 130 REM
  5. 140 REM         D. TRANKNER
  6. 150 REM           LONDON
  7. 160 REM
  8. 170 REM7 8 9
  9. 180 REM  5   DEMO ALPHA EMISSIONS
  10. 190 REM1 2 3
  11. 200 REM
  12. 210 REM G    PLACE GOLD FOIL
  13. 220 REM R    REMOVE GOLD FOIL
  14. 230 REM E    EXPERIMENTAL TRIALS
  15. 240 REM C    CLEARS EXP'T DATA
  16. 250 POKE53272,21:PRINT"[147]":GOSUB1910
  17. 260 FORI=1TO1000:NEXT
  18. 270 PRINT"A COMPUTER ASSISTED SIMULATION"
  19. 280 FORI=1TO2500:NEXT
  20. 290 PRINT"DO YOU NEED INSTRUCTIONS[146] (Y OR N)?"
  21. 300 GETA$:IFA$=""THEN300
  22. 310 IFA$="Y"THENGOSUB1560
  23. 320 G=0:GOSUB 570
  24. 330 REM   LABEL THE DIAGRAM
  25. 340 PRINT"LEAD BLOCK":PRINT"RADIOACTIVE":PRINT"  SOURCE[145][145][145][145][145][145][145][145]"
  26. 350 IFA$="Y"THENRETURN
  27. 360 GOTO500
  28. 370 REM THE THIN GOLD FOIL
  29. 380 PRINT""TAB(17)"GOLD FOIL"
  30. 390 PRINT""
  31. 400 FORI=1TO11
  32. 410 IFG=0THENPRINTTAB(21)" ":GOTO430
  33. 420 PRINTTAB(21)"[220]"
  34. 430 NEXT
  35. 440 RETURN
  36. 450 GOTO500
  37. 460 REM THE ZINC SULFIDE SCREEN
  38. 470 PRINT""TAB(30)"SSREEN"
  39. 480 PRINTTAB(27)"ZINC SULFIDE"
  40. 490 RETURN
  41. 500 S=0:GETA$:IFA$=""THEN500
  42. 510 IFVAL(A$)>0THENS=VAL(A$):GOSUB650
  43. 520 IFA$="C"THENGOSUB1470
  44. 530 IFA$="E"THENE=1:GOSUB1220
  45. 540 IFA$="G"THENG=1:GOSUB370
  46. 550 IFA$="R"THENG=0:GOSUB370
  47. 560 GOTO500
  48. 570 PRINT"[147]":GOSUB1910
  49. 580 PRINT""
  50. 590 PRINT"         [181]"
  51. 600 PRINT"      [146]   [181]                      [194]"
  52. 610 PRINT"  [146]                              [194]"
  53. 620 PRINT"      [146]   [181]                      [194]"
  54. 630 PRINT"         [181]"
  55. 640 RETURN
  56. 650 REM ALPHA-PARTICLE DISPLAY
  57. 660 SC=33250-31744:R=40:C=1:A=0
  58. 665 REM 1024-32768 FOR C64
  59. 670 REM-CREATE THE ALPHA-PARTICLE RAY-
  60. 680 POKESC,87:FORJ=3TO31:IFJ=8THENPOKESC+J-42,78:POKESC+J+38,77
  61. 690 PRINT""TAB(J)"[166]"
  62. 700 IFJ>21ANDS>0THENGOSUB800
  63. 710 NEXTJ:POKESC+30,42:IFS>4ORS<7THENGOSUB470
  64. 720 REM -ERASE THE ALPHA-PARTICLE RAY-
  65. 730 POKESC,81:FORJ=3TO31:IFJ=8THENPOKESC+J-42,32:POKESC+J+38,32
  66. 740 IFJ=21ANDG=1THEN780
  67. 750 IFJ>21ANDS>0THENA=1:GOSUB800
  68. 760 PRINT""TAB(J)" "
  69. 770 IFJ=20ANDG=1THENPOKESC+J-1,92
  70. 780 NEXTJ:POKESC+30,66
  71. 790 RETURN
  72. 800 REM ALPHA-PARTICLE DEFLECTIONS
  73. 810 IFG=0THENRETURN
  74. 820 ONSGOSUB1150,1010,890,830,830,830,1080,940,840
  75. 830 RETURN
  76. 840 REM SMALL ANGLE -9 DEFLECTIONS
  77. 850 XX=64:YY=42:IFA=1THENXX=32:YY=66
  78. 860 POKESC+J-42,XX
  79. 870 IFJ=31THENPOKESC-10,YY
  80. 880 RETURN
  81. 890 REM SMALL ANGLE -3 DEFLECTIONS
  82. 900 XX=64:YY=42:IFA=1THENXX=32:YY=66
  83. 910 POKESC+J+38,XX
  84. 920 IFJ=31THENPOKESC+70,YY
  85. 930 RETURN
  86. 940 REM LARGE ANGLE -8 DEFLECTIONS
  87. 950 XX=78:YY=42:IFA=1THENXX=32:YY=77
  88. 960 IFJ>26THENRETURN
  89. 970 IFJ=26THENPOKESC-256,77:POKESC-215,77:POKESC-174,77
  90. 980 POKESC+J-2-(J-21)*40,XX
  91. 990 IFJ=26THENPOKESC-215,YY
  92. 1000 RETURN
  93. 1010 REM LARGE ANGLE -2 DEFLECTIONS
  94. 1020 XX=77:YY=42:IFA=1THENXX=32:YY=78
  95. 1030 IFJ>26THENRETURN
  96. 1040 IFJ=26THENPOKESC+226,78:POKESC+265,78:POKESC+304,78
  97. 1050 POKESC+J-2+(J-21)*40,XX
  98. 1060 IFJ=26THENPOKESC+265,YY
  99. 1070 RETURN
  100. 1080 REM RETURN ANGLE -7 DEFLECTIONS
  101. 1090 XX=77:YY=42:IFA=1THENXX=32:YY=78
  102. 1100 IFJ>26THENRETURN
  103. 1110 IFJ=26THENPOKESC-266,78:POKESC-227,78:POKESC-188,78
  104. 1120 POKESC-J-(J-22)*40,XX
  105. 1130 IFJ=26THENPOKESC-227,YY
  106. 1140 RETURN
  107. 1150 REM RETURN ANGLE -1 DEFLECTIONS
  108. 1160 XX=78:YY=42:IFA=1THENXX=32:YY=77
  109. 1170 IFJ>26THENRETURN
  110. 1180 IFJ=26THENPOKESC+212,77:POKESC+253,77:POKESC+294,77
  111. 1190 POKESC-J+(J-20)*40,XX
  112. 1200 IFJ=26THENPOKESC+253,YY
  113. 1210 RETURN
  114. 1220 REM -ALPHA-PARTICLE EXP'T ROUTINE-
  115. 1230 FORK=1TO10
  116. 1240 IFG=0THEN1280
  117. 1250 EX%=RND(-RND(0))*100+1
  118. 1260 IFEX%<61THENEY%=RND(-RND(0))*2+1:ONEY%GOSUB1300,1310:GOTO1290
  119. 1270 IFEX%>84THENEY%=RND(-RND(0))*4+1:ONEY%GOSUB1320,1330,1340,1350:GOTO1290
  120. 1280 S=5:GOSUB650:GOSUB1360
  121. 1290 NEXTK:RETURN
  122. 1300 S=9:GOSUB650:GOSUB1360:RETURN
  123. 1310 S=3:GOSUB650:GOSUB1360:RETURN
  124. 1320 S=8:GOSUB650:GOSUB1360:RETURN
  125. 1330 S=2:GOSUB650:GOSUB1360:RETURN
  126. 1340 S=7:GOSUB650:GOSUB1360:RETURN
  127. 1350 S=1:GOSUB650:GOSUB1360:RETURN
  128. 1360 Z(S)=Z(S)+1:Z(4)=Z(4)+200:Z(5)=Z(4)-Z(9)-Z(3)-Z(8)-Z(2)-Z(7)-Z(1)
  129. 1370 FORI=1TO9:Z$(I)=STR$(Z(I))
  130. 1380 IFZ$(I)=" 0"THENZ$(I)=""
  131. 1390 NEXT
  132. 1400 PRINT""TAB(12)Z$(7)TAB(28)Z$(8)
  133. 1410 PRINT""TAB(34)Z$(9)
  134. 1420 PRINTTAB(33)Z$(5)
  135. 1430 PRINTTAB(34)Z$(3)
  136. 1440 PRINT""Z$(4)
  137. 1450 PRINT""TAB(12)Z$(1)TAB(28)Z$(2)
  138. 1460 RETURN
  139. 1470 REM -CLEAR EXP'T DATA FROM SCREEN
  140. 1480 FORI=1TO9:Z(I)=0:Z$(I)="":NEXT
  141. 1490 PRINT""TAB(11)"   "TAB(28)"  "
  142. 1500 PRINT""TAB(34)"    "
  143. 1510 PRINTTAB(33)"      "
  144. 1520 PRINTTAB(34)"    "
  145. 1530 PRINT"      "
  146. 1540 PRINT""TAB(11)"   "TAB(28)"   "
  147. 1550 RETURN
  148. 1560 REM -THE INSTRUCTIONS ROUTINE-
  149. 1570 GOSUB320:FORI=1TO1000:NEXT:G=1:GOSUB370:FORI=1TO1000:NEXT
  150. 1580 GOSUB650:FORI=1TO1000:NEXT:S=8:GOSUB650:FORI=1TO2000:NEXT
  151. 1590 PRINT"[147]":GOSUB1910
  152. 1600 PRINT"1) DEMONSTRATION OF THE EFFECT"
  153. 1610 PRINT"KEY           EFFECT"
  154. 1620 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  155. 1630 PRINT"  5    CREATE PARTICLE PATH AND ERASE"
  156. 1640 PRINT"  G    PLACES THE GOLD FOIL"
  157. 1650 PRINT"  R    REMOVES THE GOLD FOIL
  158. 1660 [153]"      ALPHA PARTICLE DEFLECTIONS"
  159. 1670 [153]"      TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB("
  160. 1680 [153]" 9 3   UPPER AND LOWER SMALL ANGLE"
  161. 1690 [153]" 8 2   UPPER AND LOWER LARGE ANGLE"
  162. 1700 [153]" 7 1   UPPER AND LOWER REVERSE ANGLE"
  163. 1710 [153]"PRESS ANY KEY WHEN READY"
  164. 1720 [161]A$:[139]A$[178]""[167]1720
  165. 1730 [153]"LOAD":[141]1910
  166. 1740 [153]"2) THE EXPERIMENT ITSELF"
  167. 1750 [153]"KEY           EFFECT"
  168. 1760 [153]"TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB("
  169. 1770 [153]"  E   THE EXPERIMENT TAKES PLACE."
  170. 1780 [153]"      EACH FULL BEAM OF PARTICLES"
  171. 1790 [153]"      REPRESENTS 200 ALPHA PARTICLES."
  172. 1800 [153]"      THIS OCCURS 10 TIMES, WITH"
  173. 1810 [153]"      THE FULL BEAM AND ALL DEFLECTIONS"
  174. 1820 [153]"      TOTALLED AND DISPLAYED."
  175. 1830 [153]"      IF THE GOLD FOIL IS NOT IN PLACE"
  176. 1840 [153]"      THEN NO DEFLECTIONS WILL OCCUR."
  177. 1850 [153]"      PRESSING THE KEY AGAIN WILL REPEAT";
  178. 1860 [153]"      THE ABOVE, ADDING TO THE TOTALS."
  179. 1870 [153]"  C   THIS CLEARS ALL EXPERIMENTAL DATA"
  180. 1880 [153]"PRESS ANY KEY WHEN READY"
  181. 1890 [161]A$:[139]A$[178]""[167]1890
  182. 1900 [142]
  183. 1910 [153]"RUTHERFORD'S ALPHA PARTICLE EXPERIMENT"
  184. 1920 [153]"TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB("
  185. 1930 [142]
  186.